/**
 * model 工厂类
 */
Ext.define('JS.model.ModelFactory', {
	models  : new Ext.util.MixedCollection(),//缓存数据模型对象 model
	fields  : new Ext.util.MixedCollection(),//缓存数据模型字段对象 fields
	getModelByName : function(modelName) {
		var fields = [];
		
		if(!this.models.containsKey(modelName)) {
			Ext.Ajax.request({
				url   	: '../../modelFactory/getModelByName',
				async 	: false,
				params	: {modelName : modelName},
				success : function(response) {
					var data = response.responseText;
					fields = eval('(' + data + ')');
				} 
			});
			var newModel = Ext.define(modelName, {
				extend  : 'Ext.data.Model',
				fields  : fields
				/*[
					{name : 'code',   		type : 'string'},
					{name : 'name', 		type : 'string'},
					{name : 'manager', 		type : 'string'},
					{name : 'description', 	type : 'string'}
				]*/
			});
			this.models.add(modelName, newModel);
		}
		return modelName;
	}
});
var modelFactory = Ext.create('JS.model.ModelFactory', {});


